package com.ha.service;

import com.ha.dto.EmployeeDTO;
import com.ha.dto.EmployeeLoginDTO;
import com.ha.dto.EmployeePageQueryDTO;
import com.ha.dto.PasswordEditDTO;
import com.ha.entity.Employee;
import com.ha.result.PageResult;

/**
 * ClassName: EmployeeService
 * Package: com.ha.service
 * Description:
 *
 * @Author 那啥啥
 * @Create 2024/3/31  17:11
 * @Version 1.0
 */
public interface EmployeeService {
    /**
     * 员工登录
     * @param employeeLoginDTO
     * @return
     */
    Employee login(EmployeeLoginDTO employeeLoginDTO);

    /**
     * 新增员工
     * @param employeeDTO
     */
    void save(EmployeeDTO employeeDTO);

    /**
     * 分页查询
     * @param employeePageQueryDTO
     * @return
     */

    PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO);

    /**
     * 启用禁用员工账号
     * @param status
     * @param id
     */
    void startOrStop(Integer status, Long id);

    /**
     * 根据员工id查询
     * @param id
     * @return
     */
    Employee getById(Long id);

    /**
     * 编辑员工信息
     * @param employeeDTO
     */
    void update(EmployeeDTO employeeDTO);

    /**
     * 修改密码
     * @param passwordEditDTO
     */
    void editPassword(PasswordEditDTO passwordEditDTO);
}
